#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int fac(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * fac(n - 1);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fac(n);
//	printf("%d\n", ret);
//	return 0;
//}
//int Fac1(int n)
//{
//	if (n == 0)
//		return 1;
//	else
//		return n * Fac1(n - 1);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fac1(n);
//
//	printf("%d\n", ret);
//	return 0;
//}
//
//int fib(int n)
//{
//	if (n <= 2)
//		return 1;
//	else
//		return fib(n - 1) + fib(n - 2);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = fib(n);
//	printf("%d\n", ret);
//}
int fib(int n)
{
	int nq = 1;
	int nqq = 1;
	int result = 1;
	while (n>2)
	{
		result = nq + nqq;
		nqq = nq;
		nq = result;
		n--;
	
	}
	return result;
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = fib(n);
	printf("%d\n", ret);
	return 0;
}
//int power(int n, int k)
//{
//	if (k == 0)
//		return 1;
//	else
//		return n * power(n, k - 1);
//}
//int main()
//{
//	int n = 0;
//	int k = 0;
//	scanf("%d %d", &n, &k);
//	int ret = power(n, k);
//	printf("%d\n", ret);
//}
//int DigitSum(int n)
//{
//	if (n < 9)
//		return n;
//	else
//		return (n % 10+DigitSum(n / 10) );
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = DigitSum(n);
//	printf("%d\n", ret);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//    long  n;
//    long sum = 0;
//    scanf("%ld", &n);
//    for (int i = 0; i <= n; i++)
//    {
//        sum += i;
//
//
//    }  printf("%ld", sum);
//}
//int main()
//{
//	int n = 0;
//	int sum = 0;
//	scanf("%d", &n);
//	while (n > 0)
//	{
//		int b;
//		scanf("%d", &b);
//		sum += b;
//		n--;
//	}
//	printf("%d\n", sum);
//}